/*
  光的力量
  题目描述
    小瓜最近在研究一个新玩具，这个玩具有五个转动的钢片（五个同心圆），这几个钢片的边缘都有一些缺口。
    每个钢片都有一个起始位置（在 0 度），这样所有的钢片都可以在统一的起始位置开始转动。
    钢片向角度变大的方向旋转（即 0 经过旋转到达 1 的位置），
    所以从起始位置开始，在一定的时间内，它们依次转过 1 度，2 度等等（虽然这些钢片很可能不会同时转过这些角度）。

    钢片只会转过整数的度数，即不会转过 1.5 度或 23.51234123 度这样的角度。
    例如，钢片可能在一秒钟内转过 20 到 25 度甚至 30 到 40 度（如果转得快的话）。
    这个问题中的所有角度都限制在 0 <= 角度 <= 359 这个范围内。
    钢片转过 359 度后接下来就是 0 度。每个钢片都有一个确定的旋转速度，以秒作为单位。1 <= 速度 <= 180。

    钢片上的缺口的起始角度和缺口大小（或宽度）各由一个整数表示，都以度为单位。
    在一个钢片上，两个缺口之间至少有一度的间隔。
    宽度也包含缺口起始的角度，即 0 179 包括 0 .. 179 共计 180 个角度

    在起始位置，设时间为 0，所有的钢片的起始标记排列成一条直线。
    现在你需要计算的是，最早出现每个的钢片上的缺口同其他钢片上的缺口对准（也就是一束光可以通过五个钢片上的五个缺口）情况的时间。
  输入
    输入五行, 对应五个钢片。
    每一行包含如下信息:
      第一个数字表示钢片的转动速度。下一个数字是缺口的数目 W。1 <= W <= 5。
      接下来的 W 对数字表示每个缺口的起始角度和宽度。
  输出
    只有一行，包括一个整数，表示光能够通过这五个钢片的最早时间。
    如果无解，输出 'none'（小写，不含引号）。
  样例输入
    30 1 0 120
    50 1 150 90
    60 1 60 90
    70 1 180 180
    90 1 180 60
  样例输出
    9
*/

#include <bits/stdc++.h>

using namespace std;

// 该结构体代表缺口的初始信息
struct str{
    int sd;  // 速度
    int sta; // 开始位置
    int end; // 结束位置
} a[25];  // 5 * 5 == 25, 最多有 25 个缺口

int num = 0; // 记录缺口总数
int s[360];  // 记录每一度上光能通过几层缺口 (每一度上缺口有几层)

// 计算经过 ti 秒之后缺口 (s) 的状态
void sim (int ti) {
    for (int i = 1; i <= num; i++) {
        int x = a[i].sta + ti * a[i].sd;
        int y = a[i].end + ti * a[i].sd;
        for (int j = x; j <= y; j++) {
            s[j % 360]++;  // 因为 y 有可能大于 360
        }
    }
}

int main () {
    int sl, zs; // sl 代表数量，zs 代表速度

    for (int i = 1; i <= 5; i++) {
        cin >> zs >> sl;
        for (int i = 1; i <= sl; i++) {
            num++;  // 缺口数量累加
            cin >> a[num].sta >> a[num].end;
            a[num].sd = zs;
            a[num].end = a[num].end + a[num].sta;
        }
    }

    // 因为一个圆形，转 360 度会转回到原点
    // 经过 360 秒之后所有圆盘都会回到初始位置
    for (int i = 0; i < 360; i++) {
        sim(i);
        for (int j = 0; j < 360; j++) {
            if (s[j] == 5) {
                cout << i;
                return 0;
            }
            s[j] = 0;
        }
    }
    cout << "none";

    return 0;
}